package commondata;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class NbaPool {
	
	private static NbaPool instance;

	private HashMap<Integer, ITeam> nbaTeams;

	private HashMap<Integer, IPlayer> nbaPlayers;
	
	private List<ITradePackage> tradePackages;

	private INbaPoolDataProvider dataProvider;
	
	private List<Double> pointsPG;
	private List<Double> reboundsPG;
	private List<Double> blocksPG;
	private List<Double> assistPG;
	private List<Double> stealsPG;
	
	private NbaPool() {
		nbaTeams = new HashMap<Integer, ITeam>();
		nbaPlayers = new HashMap<Integer, IPlayer>();
		tradePackages = new ArrayList<ITradePackage>();
		pointsPG = new ArrayList<Double>();
		reboundsPG = new ArrayList<Double>();
		blocksPG = new ArrayList<Double>();
		assistPG = new ArrayList<Double>();
		stealsPG = new ArrayList<Double>();
	}
	
	public static NbaPool getInstance(){
		
		if(instance == null){
			instance = new NbaPool();
		}
		return instance;
	}

	public HashMap<Integer, ITeam> getNbaTeams() {
		return nbaTeams;
	}

	public void setNbaTeams(HashMap<Integer, ITeam> nbaTeams) {
		this.nbaTeams = nbaTeams;
	}

	public HashMap<Integer, IPlayer> getNbaPlayers() {
		return nbaPlayers;
	}

	public void setNbaPlayers(HashMap<Integer, IPlayer> nbaPlayers) {
		this.nbaPlayers = nbaPlayers;
	}

	public INbaPoolDataProvider getDataProvider() {
		return dataProvider;
	}

	public void setDataProvider(INbaPoolDataProvider dataProvider) {
		this.dataProvider = dataProvider;
	}

	public List<ITradePackage> getTradePackages() {
		return tradePackages;
	}

	public void setTradePackages(List<ITradePackage> tradePackages) {
		this.tradePackages = tradePackages;
	}

	public List<Double> getPointsPG() {
		return pointsPG;
	}

	public void setPointsPG(List<Double> pointsPG) {
		this.pointsPG = pointsPG;
	}

	public List<Double> getReboundsPG() {
		return reboundsPG;
	}

	public void setReboundsPG(List<Double> reboundsPG) {
		this.reboundsPG = reboundsPG;
	}

	public List<Double> getBlocksPG() {
		return blocksPG;
	}

	public void setBlocksPG(List<Double> blocksPG) {
		this.blocksPG = blocksPG;
	}

	public List<Double> getAssistPG() {
		return assistPG;
	}

	public void setAssistPG(List<Double> assistPG) {
		this.assistPG = assistPG;
	}

	public List<Double> getStealsPG() {
		return stealsPG;
	}

	public void setStealsPG(List<Double> stealsPG) {
		this.stealsPG = stealsPG;
	}
	


}
